package utils;


import java.util.ArrayList;
import java.util.List;
import java.util.StringTokenizer;

public class Parseador {

	
	/**
	  * 
	  * @param nombre
	  * @return de la cadena [Elemento:nombreElemento] Elemento.
	  */
	 public static List<String> obtenerElementoOrigenDelAtributo(String nombre){
		 StringTokenizer st = new StringTokenizer(nombre,":."); 	
		 List<String> cadena = new ArrayList<String>();
		 while(st.hasMoreTokens()) {
			    cadena.add(st.nextToken()); 
		  }		 
		 return cadena;
	 }
	 
	 
	 /**
	  * 
	  * @param nombre
	  * @return de la cadena [Elemento:nombreElemento.TipoAtributo;nombreAtributo] el nombreElemento
	  */
	 public static String obtenerNombreDelElementoReferenciaDelAtributo(String nombre){
		 StringTokenizer st = new StringTokenizer(nombre,":."); 	 
		 String nombreElementoOrigen = "";
		 while(st.hasMoreTokens()) {
			   
			   String elementoOrigen = st.nextToken();
			  
			   nombreElementoOrigen = st.nextToken();
	   
			   return nombreElementoOrigen;		   
		 	} 
			 return nombreElementoOrigen;
		 }
	 
	 
	 /**
	  * 
	  * @param nombre
	  * @return de la cadena [Elemento:nombreElemento.TipoAtributo;nombreAtributo] el TipoAtributo
	  */
	public static String obtenerTipoDeAtributoReferenciaDelNombreDelAtributo(String nombre){
		 StringTokenizer st = new StringTokenizer(nombre,":."); 	 
		 String tipoAtributo = "";
		 while(st.hasMoreTokens()) {
			   
//			   String elementoOrigen = st.nextToken();
//			  
//			   String nombreElementoOrigen = st.nextToken();
		
			   tipoAtributo = st.nextToken();
			   
			   String nombreAtributo = st.nextToken();
			   
			   
						   
		 	} 
			 return tipoAtributo;
		 }
		 
	 /**
	  * 
	  * @param nombre
	  * @return de la cadena [Elemento:nombreElemento.TipoAtributo;nombreAtributo] el nombreAtributo
	  */
	 public static String obtenerNombreDelAtributo(String nombre){
		 StringTokenizer st = new StringTokenizer(nombre,":."); 	 
		 String nombreAtributo = "";
		      
		   while(st.hasMoreTokens()) {
					   
					   String tipoAtributo = st.nextToken();
					   
					   nombreAtributo = st.nextToken();
					   
					  		    	     
				 }		 
				 
	    return nombreAtributo;
	 }	
	 
	 /*public static String obtenerTipoAtributo(String nombre){
		 String[] separoNombre = nombre.split(";");
		 
		 //la posicion 1 es en nombre del atributo
		  String[] separoTipo = separoNombre[0].split("\\.");
		  return separoTipo[separoTipo.length-1];
		  
	 }
     */

	
}
